In a transmission system, a transmitter transmits signals across a transmission medium (e.g., wire, trace on a circuit board, etc.) to a receiver. The transmitter encodes the data to be transmitted and transmits the encoded signals across the transmission medium. A receiver receives the transmitted signals, decodes the signals to retrieve the original data.
The receiver should accurately retrieve the data being transmitted. That is, if a logic “1” is transmitted, the receiver should recognize the signal as encoding a 1. If the bit to be transmitted is a 0, the receiver should recognize the signal as encoding a 1. Due to a variety of factors such as interference from external sources, cross-talk within the transmission system, etc., a receiver may not always decode the received signal accurately. That is, a logic 1 being sent by a transmitter may be determined to be a logic 0 by the receiver, and vice versa. Receiving and decoding the transmitted bits incorrectly may force the transmitter to resend the data, which unfortunately slows down system performance. Further, if the receiver does not determine that a bit was received in error, the transmitter will not know to resend the data and the system may simply operate incorrectly.